package edu.vital.energy.longevity.ch11.dao;

import edu.vital.energy.longevity.ch11.model.domain.Article;
import org.apache.ibatis.annotations.*;
import java.util.List;

@Mapper
public interface ArticleMapper {
    // 根据id查询文章信息

    public Article selectArticleWithId(Integer id);

    // 发表文章，同时使用@Options注解获取自动生成的主键id
//    @Insert("INSERT INTO t_article (？？？？)
//    @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")
    public Integer publishArticle(Article article);

    // 文章发分页查询
    public List<Article> selectArticleWithPage();

    // 通过id删除文章
    @Delete("DELETE FROM t_article WHERE id=#{id}")
    public void deleteArticleWithId(int id);

    // 站点服务统计，统计文章数量
    @Select("SELECT COUNT(1) FROM t_article")
    public Integer countArticle();

    // 通过id更新文章
    public Integer updateArticleWithId(Article article);

    // 根据分类统计文章数量
    @Select("SELECT COUNT(*) FROM t_article WHERE categories LIKE CONCAT('%', #{categoryName}, '%')")
    Integer countArticlesByCategories(@Param("categoryName") String categoryName);
}
